<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">
	<h:form id="listForm">
		<p:contextMenu for="listPaccPubb">
			<p:menuitem value="Mostra Dettagli" icon="ui-icon-info"
				onclick="PF('dlgDettagliPaccPubb').show();"
				update="paccPubbDettagliPanel" />
			<p:menuitem value="Modifica" icon="ui-icon-pencil"
				onclick="PF('dlgPaccPubb').show();"
				update="paccPubbPanel, :messages"
				rendered="#{empty isAgent ? 'false' : 'true'}" />
			<p:menuitem value="Elimina" update="listPaccPubb, :messages"
				icon="ui-icon-close"
				actionListener="#{pacchettiBean.cancellaPaccPubb}"
				rendered="#{empty isAgent ? 'false' : 'true'}" />
			<p:menuitem value="Personalizza" icon="ui-icon-suitcase"
				action="#{pacchettiBean.personalizza()}"
				update="paccPubbDettagliPanel"
				rendered="#{empty isCliente ? 'false' : 'true'}" />
		</p:contextMenu>

		<p:dataTable id="listPaccPubb" var="paccPubbVar"
			value="#{pacchettiBean.listaPaccPubb()}"
			rowKey="#{paccPubbVar.idPacchetto}"
			selection="#{pacchettiBean.paccPubb}" selectionMode="single"
			emptyMessage="Nessun pacchetto inserito" paginator="true" rows="10"
			rowsPerPageTemplate="5,10,15"
			filteredValue="#{pacchettiBean.filteredPaccPubb}">
			<f:facet name="header">Lista Pacchetti Viaggio</f:facet>
			<p:column headerText="Nome" filterBy="nome"
				filterMatchMode="contains">
				<h:outputText value="#{paccPubbVar.nome}" />
			</p:column>
			<p:column headerText="Località" filterBy="localitàPacchetto"
				filterMatchMode="contains">
				<h:outputText value="#{paccPubbVar.localitàPacchetto}" />
			</p:column>
			<p:column headerText="Hotel">
				<h:outputText value="#{paccPubbVar.hotel.nome}" />
			</p:column>
			<p:column headerText="Escursione">
				<h:outputText value="#{paccPubbVar.escursione.nome}" />
			</p:column>
			<p:column headerText="Prezzo base">
				<h:outputText value="#{paccPubbVar.prezzo}" />
			</p:column>
			<f:facet name="footer">
				<h:outputText
					value="in totale: #{pacchettiBean.numPacchetti} pacchetti" />
			</f:facet>
		</p:dataTable>

		<p:dialog id="dialogPaccPubb" header="Modifica Pacchetto"
			widgetVar="dlgPaccPubb" showEffect="clip" hideEffect="clip"
			dynamic="true">

			<p:ajax event="close" update="msgAggiornaPaccPubb, @this" />


			<h:panelGrid id="paccPubbPanel" columns="2" cellpadding="5">
				<h:outputLabel value="Nome:" />
				<h:outputLabel id="idPaccPubb"
					value="#{pacchettiBean.paccPubb.nome}" />

				<h:outputLabel for="localitàPaccPubb" value="Località:" />
				<h:outputLabel id="localitàPaccPubb"
					value="#{pacchettiBean.paccPubb.localitàPacchetto}" />

				<h:outputLabel value="Hotel:" />
				<p:selectOneMenu id="hotelPaccPubb"
					value="#{pacchettiBean.hotelPaccPubbCorrente}" converter="#{converterBean}" >
					<f:selectItem itemLabel="#{pacchettiBean.paccPubb.hotel.nome}" itemValue="" />
					<f:selectItems value="#{pacchettiBean.listaHotelInLocalità()}"
						var="hotel" itemLabel="#{hotel.nome}" itemValue="#{hotel}" />
					<p:ajax event="change" update="msgAggiornaPaccPubb" />
				</p:selectOneMenu>

				<h:outputLabel value="Escursione:" />
				<p:selectOneMenu id="escPaccPubb"
					value="#{pacchettiBean.escPaccPubbCorrente}" converter="#{converterBean}" >
					<f:selectItem itemLabel="#{pacchettiBean.paccPubb.escursione.nome}" itemValue="" />
					<f:selectItems value="#{pacchettiBean.listaEscursioniInLocalità()}"
						var="esc" itemLabel="#{esc.nome}" itemValue="#{esc}" />
					<p:ajax event="change" update="msgAggiornaPaccPubb" />
				</p:selectOneMenu>

			</h:panelGrid>
			<p:commandButton id="salvaPaccPubb" value="Salva"
				update="paccPubbPanel, msgAggiornaPaccPubb, listPaccPubb"
				action="#{pacchettiBean.updatePaccPubb()}" />
			<p:messages id="msgAggiornaPaccPubb" showDetail="false"
				autoUpdate="false" closable="true" for="salvaPaccPubb" />
		</p:dialog>

		<p:dialog id="dialogDettagliPaccPubb" header="Dettagli Pacchetto"
			widgetVar="dlgDettagliPaccPubb" showEffect="clip" hideEffect="clip"
			dynamic="true">

			<h:panelGrid id="paccPubbDettagliPanel" columns="2" cellpadding="5">
				<h:outputLabel value="Nome:" />
				<h:outputLabel value="#{pacchettiBean.paccPubb.nome}" />

				<h:outputLabel value="Località:" />
				<h:outputLabel value="#{pacchettiBean.paccPubb.localitàPacchetto}" />

				<h:outputLabel value="Hotel:" />
				<h:outputLabel value="#{pacchettiBean.paccPubb.hotel.nome}" />

				<h:outputLabel value="Escursione:" />
				<h:outputLabel value="#{pacchettiBean.paccPubb.escursione.nome}" />

				<h:outputLabel value="Prezzo:" />
				<h:outputLabel value="#{pacchettiBean.paccPubb.prezzo}" />
			</h:panelGrid>
		</p:dialog>
	</h:form>
</ui:composition>